package pres.wchen.bussiness.cor.util;

import java.math.BigDecimal;
import java.util.Map;

/**
 * @作者： wchen
 * @描述： map值工具类
 * @创建时间： 2018/1/11 11:19
 * @版本：Copyright 2018, Inc. All Rights Reserved.
 * @修改信息：
 */
public class MapValueUtil {
    private Map map;

    private MapValueUtil(Map targetMap){
        this.map = targetMap;
    }


    /**
     *
     * @描述： 获取map的Integer值
     * @名称： getIntegerValue
     * @入参： [paramName]
     * @出参： java.lang.Integer
     * @修改信息： 创建：wchen 2018/1/11
     */
    public Integer getIntegerValue(String paramName){

        if(map.get(paramName) == null){
            return null;
        }
        return new Integer(map.get(paramName).toString());
    }


    /**
     *
     * @描述： 获取map的String值
     * @名称： getStringValue
     * @入参： [paramName]
     * @出参： java.lang.String
     * @修改信息： 创建：wchen 2018/1/11
     */
    public String getStringValue(String paramName){

        if(map.get(paramName) == null){
            return null;
        }
        return map.get(paramName).toString();
    }


    /**
     *
     * @描述： 获取map的Boolean值
     * @名称： getBooleanValue
     * @入参： [paramName]
     * @出参： java.lang.Boolean
     * @修改信息： 创建：wchen 2018/1/11
     */
    public Boolean getBooleanValue(String paramName){

        if(map.get(paramName) == null){
            return null;
        }
        return Boolean.valueOf(map.get(paramName).toString());
    }


    /**
     *
     * @描述： 获取map的Double值
     * @名称： getDoubleValue
     * @入参： [paramName]
     * @出参： java.lang.Double
     * @修改信息： 创建：wchen 2018/1/11
     */
    public Double getDoubleValue(String paramName){

        if(map.get(paramName) == null){
            return null;
        }
        return new Double(map.get(paramName).toString());
    }


    /**
     *
     * @描述： 获取map的Float值
     * @名称： getFloatValue
     * @入参： [paramName]
     * @出参： java.lang.Float
     * @修改信息： 创建：wchen 2018/1/11
     */
    public Float getFloatValue(String paramName){

        if(map.get(paramName) == null){
            return null;
        }
        return new Float(map.get(paramName).toString());
    }


    /**
     *
     * @描述： 获取map的Long值
     * @名称： getLongValue
     * @入参： [paramName]
     * @出参： java.lang.Long
     * @修改信息： 创建：wchen 2018/1/11
     */
    public Long getLongValue(String paramName){

        if(map.get(paramName) == null){
            return null;
        }
        return new Long(map.get(paramName).toString());
    }


    /**
     *
     * @描述： 获取map的BigDecimal值
     * @名称： getBigDecimalValue
     * @入参： [paramName]
     * @出参： java.math.BigDecimal
     * @修改信息： 创建：wchen 2018/1/11
     */
    public BigDecimal getBigDecimalValue(String paramName){

        if(map.get(paramName) == null){
            return null;
        }
        return new BigDecimal(map.get(paramName).toString());
    }


    /**
     *
     * @描述： 取map值
     * @名称： getValue
     * @入参： [paramName]
     * @出参： java.lang.Object
     * @修改信息： 创建：wchen 2018/1/11
     */
    public Object getValue(String paramName){

        return map.get(paramName);
    }

    /**
     *
     * @描述： 实例化MapValueUtil
     * @名称： newInstance
     * @入参： [map]
     * @出参： pres.wchen.bussiness.cor.util.MapValueUtil
     * @修改信息： 创建：wchen 2018/2/5
     */
    public static MapValueUtil newInstance(Map map){

        return new MapValueUtil(map);
    }
}
